package com.zzyl.service;

import com.zzyl.dto.ResourceDto;
import com.zzyl.vo.MenuVo;
import com.zzyl.vo.ResourceVo;
import com.zzyl.vo.TreeVo;

import java.util.List;

/**
 * @FileName ResourceService
 * @Description
 * @Author Sword
 * @date 2025-10-06
 **/
public interface ResourceService {

    /**
     * 资源列表
     *
     * @param resourceDto
     * @return
     */
    List<ResourceVo> list(ResourceDto resourceDto);

    /**
     * 资源树形
     *
     * @param resourceDto
     * @return
     */
    TreeVo tree(ResourceDto resourceDto);

    /**
     * 资源添加
     *
     * @param resourceDto
     */
    void createResource(ResourceDto resourceDto);

    /**
     * 资源修改
     *
     * @param resourceDto
     * @return
     */
    void updateResource(ResourceDto resourceDto);

    /**
     * 启用禁用
     *
     * @param resourceDto
     */
    void enable(ResourceDto resourceDto);

    /**
     * 删除菜单
     *
     * @param resourceNo
     */
    void delete(String resourceNo);

    /**
     * 动态菜单
     *
     * @param userId
     * @return
     */
    List<MenuVo> menus(Long userId);
}
